home *** CD-ROM | disk | FTP | other *** search
- @ECHO off
- BREAK ON
- if not (%1)==() goto %1
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ FDATEX: Demonstration batch file for FDATE ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- echo.
- echo.
- echo This batch file uses ANSI.SYS to control the appearance and color
- echo of some of the headings.
-
- echo.
- echo If you do not have ANSI.SYS installed, you may see garbage on the
- echo screen next to some of the headings, such as the one at the top of
- echo this screen, but the batch file will work correctly otherwise.
-
- echo.
- echo.
- echo.
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ The first thing we will do is to test the HELP screen. ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- PAUSE
-
- cls
- FDATE
- PAUSE
- ECHO ON
-
- @echo off
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (#1) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /Atoday /Occyy
- FDATE /Ff /At /Occyymm
- FDATE /Ff /At /Occyymmdd
- FDATE /Ff /At /Oyymmdd
- FDATE /Ff /At /Ommdd
- @echo off
- @PAUSE
-
- @echo off
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (#1b) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /At /Odd
- FDATE /Ff /At /Ozd
- FDATE /Ff /At /Odd-mn3-yy
- FDATE /Ff /At /Odd-mn3-yy /Lfr
- @echo off
- @PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (#2) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /Omm-dd-ccyy
- FDATE /Ff /Ozm-zd-ccyy
- FDATE /Ff /Omm/dd/ccyy
- FDATE /Ff /Ozm/zd/ccyy
- @echo off
- PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (BRITISH) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /Odd.mm.ccyy
- FDATE /Ff /Ozd.zm.ccyy
- FDATE /Ff /Odd.mm.yy
- FDATE /Ff /Ozd.zm.yy
- @echo off
- PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (#3) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /At /Odow#
- FDATE /Ff /At /Odow
- FDATE /Ff /At /Odow3
- FDATE /Ff /At /Odow /Lfr
- FDATE /Ff /At /Odow3 /Lfr
- @echo off
- PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (#4) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /At /O"mn zd, ccyy"
- FDATE /Ff /At /O"mn3 dd ccyy"
- FDATE /Ff /At /O"mn3 dd, ccyy"
- FDATE /Ff /At /O"mn zd, ccyy" /Lfr
- FDATE /Ff /At /O"mn3 dd ccyy" /Lfr
- FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
- @echo off
- PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (#5) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /At /O"zd mn ccyy"
- FDATE /Ff /At /O"zd mn, ccyy"
- FDATE /Ff /At /O"zd mn ccyy" /Lfr
- FDATE /Ff /At /O"zd mn, ccyy" /Lfr
- @echo off
- PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (TIME) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /At /Ot1
- FDATE /Ff /At /Ohh:mm
- FDATE /Ff /At /Ohh:mm:ss
- @echo off
- PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS (DATE ABBREVIATIONS) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /At /Od1
- FDATE /Ff /At /Ofull
- FDATE /Ff /At /Od1 /Lfr
- FDATE /Ff /At /Ofull /Lfr
- FDATE /Ff /Oly /P"Leap-year flag is: " /S" [0=normal, 1=leapyear]"
- @echo off
- PAUSE
- :julian
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST OUTPUT FORMATS ("JULIAN" OUTPUTS) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- FDATE /Ff /At /Oday# /P"Absolute date : "
- FDATE /Ff /At /Ominute# /P"Julian minutes: "
- FDATE /Ff /At /Osecond# /P"Julian seconds: "
- @pause
-
- @cls
- FDATE /Ff /At /Ojulian /P"Julian date is: "
- FDATE /Ff /At /OJJJ /P"Julian date is: "
- FDATE /Ff /At /OYYJJJ /P"Julian date is: "
- FDATE /Ff /At /OCCYYJJJ /P"Julian date is: "
- @echo off
- PAUSE
-
- :IN
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST INPUT FORMATS ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- echo.
- @echo TEST PSEUDO-DATES /AT (/ATODAY)
- @echo ─────────────────────────────────────────────────────────────────
- @echo on
- FDATE /Ff /Atoday
- FDATE /Ff /At
- @Pause
- cls
- @ECHO TEST PSEUDO-DATES /ICCYYMMDD
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /Atttt1126 /Iccyymmdd
- FDATE /Ff /A1991tt26 /Iccyymmdd
- FDATE /Ff /A199211tt /Iccyymmdd
- FDATE /Ff /Atttttttt /Iccyymmdd
- @Pause
- cls
- @ECHO TEST PSEUDO-DATES /IMM-DD-CCYY
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /A11-26-tttt /Imm-dd-ccyy
- FDATE /Ff /A11-tt-1992 /Imm-dd-ccyy
- FDATE /Ff /Att-26-1992 /Imm-dd-ccyy
- FDATE /Ff /Att-tt-tttt /Imm-dd-ccyy
- @Pause
- cls
- @ECHO TEST PSEUDO-DATES /IMM-DD-YY
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /A11-26-tt /Imm-dd-yy
- FDATE /Ff /A11-tt-92 /Imm-dd-yy
- FDATE /Ff /Att-26-92 /Imm-dd-yy
- FDATE /Ff /Att-tt-tt /Imm-dd-yy
- @PAUSE
-
- CLS
- @echo TEST INPUT FORMATS
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /Imm-dd-ccyy /A12-07-1991
- FDATE /Ff /Imm-dd-yy /A12-07-91
- FDATE /Ff /Iccyymmdd /A19911207
- @PAUSE
- :JJJ
- CLS
- @echo ON
- @echo TEST JULIAN INPUT FORMATS
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /Iccyyjjj /A1992045
- FDATE /Ff /Iccyyjjj /Atttt045
- FDATE /Ff /Iyyjjj /A92045
- FDATE /Ff /Iyyjjj /Att045
- FDATE /Ff /Iyyjjj /A92366
- FDATE /Ff /Iyyjjj /A93366
- @PAUSE
-
- CLS
- @echo TEST JULIAN INPUT FORMATS
- @echo ─────────────────────────────────────────────────────────────────
- Fdate /Ff /Iyyjjj /Att-1
- Fdate /Ff /Iyyjjj /Att0
- Fdate /Ff /Iyyjjj /Att+1
- Fdate /Ff /Iyyjjj /Att-999
- Fdate /Ff /Iyyjjj /Att1000
- @PAUSE
- @echo OFF
-
- CLS
- @echo TEST INPUT FORMATS (only YY specified, CC assumed.)
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /Imm-dd-yy /A12-07-00
- FDATE /Ff /Imm-dd-yy /A12-07-10
- FDATE /Ff /Imm-dd-yy /A12-07-19
- FDATE /Ff /Imm-dd-yy /A12-07-20
- FDATE /Ff /Imm-dd-yy /A12-07-21
- FDATE /Ff /Imm-dd-yy /A12-07-91
- @PAUSE
-
- CLS
- @echo off
- @echo TEST INPUT FORMATS HANDLING LEADING ZEROS
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /Imm-dd-yy /A06-06-66
- FDATE /Ff /Imm-dd-yy /A6-06-66
- FDATE /Ff /Imm-dd-yy /A06-6-66
- FDATE /Ff /Imm-dd-yy /A6-6-66
- FDATE /Ff /Imm-dd-ccyy /A06-06-0001
- FDATE /Ff /Imm-dd-ccyy /A6-06-0001
- FDATE /Ff /Imm-dd-ccyy /A06-6-0001
- FDATE /Ff /Imm-dd-ccyy /A6-6-0001
- @PAUSE
-
- @echo on
-
- CLS
- @echo TEST /P (PREFIX) PARAMETER
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
- FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
- @echo.
- set FDATE=
- FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
- call FDATJUNK.BAT
- @Echo off
- del FDATJUNK.BAT
- ECHO Value of FDATE environment variable is: %FDATE%
- set FDATE=
- PAUSE
-
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0) ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo off
- fdate /Ff /Imm-dd-ccyy /A01-29-1992
- fdate /Ff /Imm-dd-ccyy /A01-30-1992
- fdate /Ff /Imm-dd-ccyy /A01-31-1992
- fdate /Ff /Imm-dd-ccyy /A02-29-1992
- fdate /Ff /Imm-dd-ccyy /A02-30-1992
- fdate /Ff /Imm-dd-ccyy /A02-31-1992
- @echo off
- PAUSE
-
- :func
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST FUNCTIONS ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo on
- @echo.
- @echo TEST FUNCTION: F (FORMAT)
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fformat /Atoday
- FDATE /Ff /At
- FDATE /Ff
- @PAUSE
- @echo off
- CLS
- @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fw /A11-25-1992 /D5 /N-2 /P"2nd Thursday before 11-25-1992: "
- FDATE /Fw /A11-25-1992 /D5 /N-1 /P"1st Thursday before 11-25-1992: "
- FDATE /Ff /A11-25-1992 /D5 /N-1 /P"The actual day of.. 11-25-1992: "
- FDATE /Fw /A11-25-1992 /D5 /N1 /P"1st Thursday after 11-25-1992: "
- FDATE /Fw /A11-25-1992 /D5 /N2 /P"2nd Thursday after 11-25-1992: "
- @PAUSE
- @CLS
- @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fw /A11-26-1992 /D5 /N-2 /P"2nd Thursday before 11-26-1992: "
- FDATE /Fw /A11-26-1992 /D5 /N-1 /P"1st Thursday before 11-26-1992: "
- FDATE /Ff /A11-26-1992 /D5 /N-1 /P"The actual day of.. 11-26-1992: "
- FDATE /Fw /A11-26-1992 /D5 /N1 /P"1st Thursday after 11-26-1992: "
- FDATE /Fw /A11-26-1992 /D5 /N2 /P"2nd Thursday after 11-26-1992: "
- @PAUSE
- @echo off
- @CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST /FW-RELATED ERROR MESSAGES ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- FDATE /Fw /A11-26-1992 /D5 /N0 /P" 0th Thursday after 11-26-1992: "
- FDATE /Fw /A11-26-1992 /D5 /N100 /P"99th Thursday after 11-26-1992: "
- FDATE /Fw /A11-26-1992 /D5 /N-100 /P"99th Thursday before 11-26-1992: "
- @PAUSE
-
- CLS
- @echo TEST COMP (DATE COMPARE) FUNCTION and /Imm-dd-ccyy default
- @echo ─────────────────────────────────────────────────────────────────
- @echo ON
- Fdate /Fcomp /A06-06-1992 /B06-06-1991
- Fdate /Fcomp /A06-06-1992 /B06-06-1992
- Fdate /Fcomp /A06-06-1992 /B06-06-1993
- Fdate /Fcomp
- @PAUSE
-
- CLS
- @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fdif /At /Bt
- FDATE /Fdif
- FDATE /Fdif /At /B01-01-1990 /Imm-dd-ccyy
- FDATE /Fdif /A01-01-1990 /Bt /Imm-dd-ccyy
- FDATE /Fdif /A12-31-0008 /B01-01-0009 /Imm-dd-ccyy
- FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
- FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
- @PAUSE
-
- CLS
- @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
- FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
- FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
- FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
- FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
- @PAUSE
-
- @echo off
- CLS
- echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
- echo ───────────────────────────────────────────────────────────────────────────────
- echo on
- FDATE /Fadd /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
- FDATE /Fadd /N1 /At /Od1 /P"Tomorrow will be "
- FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
- @PAUSE
-
- CLS
- @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fadd /N1 /A12-31-0003
- FDATE /Fadd /N1 /A12-31-0099
- FDATE /Fadd /N1 /A12-31-0399
- FDATE /Fadd /N1 /A12-31-1899
- FDATE /Fadd /N1 /A12-31-1999
- @PAUSE
-
- CLS
- @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fadd /N1 /A12-31-0004
- FDATE /Fadd /N1 /A12-31-0100
- FDATE /Fadd /N1 /A12-31-0400
- FDATE /Fadd /N1 /A12-31-1900
- FDATE /Fadd /N1 /A12-31-2000
- @PAUSE
-
- CLS
- @echo TEST SUB
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fsub /N1 /A12-31-0008
- FDATE /Fsub /N1 /At /Od1 /P"Yesterday was "
- FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
- @PAUSE
-
- CLS
- @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fsub /N1 /A12-31-0004
- FDATE /Fsub /N1 /A12-31-0100
- FDATE /Fsub /N1 /A12-31-0400
- FDATE /Fsub /N1 /A12-31-1900
- FDATE /Fsub /N1 /A12-31-2000
- @PAUSE
-
- CLS
- @echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fsub /N1 /A01-01-0004
- FDATE /Fsub /N1 /A01-01-0100
- FDATE /Fsub /N1 /A01-01-0400
- FDATE /Fsub /N1 /A01-01-1900
- FDATE /Fsub /N1 /A01-01-2000
- @PAUSE
-
- CLS
- @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Fsub /N1 /A01-01-0005
- FDATE /Fsub /N1 /A01-01-0101
- FDATE /Fsub /N1 /A01-01-0401
- FDATE /Fsub /N1 /A01-01-1901
- FDATE /Fsub /N1 /A01-01-2001
- @PAUSE
-
- :errmsg
- CLS
- @echo TEST ERROR MESSAGES
- @echo ─────────────────────────────────────────────────────────────────
- @echo on
- FDATE /Ff /At /Ojunktest
- FDATE /Ff /A18880101 /Ijunktest /Ominute#
- @PAUSE
-
- CLS
- FDATE /Ff /Iccyymmdd /A18880101 /Ominute#
- FDATE /Ff /Iccyymmdd /A21010101 /Osecond#
- FDATE /Fsub /Iccyymmdd /A00010101 /n1 /od1
- FDATE /Fadd /Iccyymmdd /A99991231 /n1 /od1
- @PAUSE
-
- CLS
- FDATE /Ff /Imm-dd-ccyy /A01-01-xxxx
- FDATE /Fadd /Imm-dd-ccyy /A01-01-1992 /N
- @PAUSE
-
- CLS
- FDATE /Fdif /?01-01-1992 /B01-02-1992
- FDATE /Fdif /A01-01-1992 /?01-02-1992
- @PAUSE
-
- CLS
- FDATE /Ff /Imm-dd-yy /A01-01-1
- FDATE /Ff /Imm-dd-yy /A01-01-199
- FDATE /Ff /Imm-dd-ccyy /A01-01-199
- FDATE /Ff /Imm-dd-ccyy /A01-01-19922
- @PAUSE
-
- :LY
- CLS
- @echo on
- @echo TEST LEAPYR (#1)
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /A01-01-0001 /Oly
- FDATE /Ff /A01-01-0004 /Oly
- FDATE /Ff /A01-01-0005 /Oly
- FDATE /Ff /A01-01-0100 /Oly
- FDATE /Ff /A01-01-0400 /Oly
- FDATE /Ff /A01-01-1600 /Oly
- @PAUSE
-
- CLS
- @echo TEST LEAPYR (#2)
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /A01-01-1900 /Oly
- FDATE /Ff /A01-01-1984 /Oly
- FDATE /Ff /A01-01-1991 /Oly
- FDATE /Ff /A01-01-1992 /Oly
- FDATE /Ff /A01-01-2000 /Oly
- @PAUSE
-
- CLS
- @echo TEST "JULIAN" OUTPUT FORMATS
- @echo ─────────────────────────────────────────────────────────────────
- FDATE /Ff /At /Ojulian
- FDATE /Ff /At /Oday#
- FDATE /Ff /At /Ominute#
- FDATE /Ff /At /Osecond#
- FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
- FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
- @PAUSE
-
- @ECHO off
- :ABSDATES
- CLS
- echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
- echo ─────────────────────────────────────────────────────────────────
- ECHO.
- FDATE /Ff /A01-01-0001 /P"First day of year 0001: " /Oday#
- ECHO.
- FDATE /Ff /A01-01-1900 /P"First day of year 1900: " /Oday#
- ECHO.
- FDATE /Ff /A01-01-1992 /P"First day of year 1992: " /Oday#
- ECHO.
- FDATE /Ff /At /P"Today's calendar date : "
- FDATE /Ff /At /Oday# /P"Today's absolute date : "
- ECHO.
- FDATE /Ff /A12-31-2000 /P"Last day of year 2000: " /Oday#
- ECHO.
- FDATE /Ff /A12-31-9999 /P"Last day of year 9999: " /Oday#
- PAUSE
-
- :GET
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ If you do not have GET installed, ║
- echo ║ you will see messages saying "Bad command of file name". ║
- echo ║ This is normal and nothing to worry about. ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo.
-
- @echo on
- @set date1=
- @echo.
- FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
- @echo DATE1 environment variable is %DATE1%
- @set date1=
- @echo.
- FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
- @echo DATE1 environment variable is %DATE1%
- @set date1=
- @echo off
- @PAUSE
-
- :STRINGS
- CLS
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ If you do not have STRINGS installed, ║
- echo ║ you will see messages saying "Bad command of file name". ║
- echo ║ This is normal and nothing to worry about. ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- @echo.
-
- @echo on
- @set date1=
- @echo.
- FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
- @echo DATE1 environment variable is %DATE1%
- @set date1=
- @echo.
- FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
- @echo DATE1 environment variable is %DATE1%
- @set date1=
- @echo.
- @echo off
- @PAUSE
-
- @echo off
- CLS
- echo.
- echo The final demonstration uses the DOS "CALL" statement,
- echo so it requires DOS 3.3 or greater.
- echo.
- echo If you do not have DOS 3.3+,
- echo press Control-Break or Control-C now to stop execution of the batch file.
- echo.
- echo Otherwise,
- pause
-
- :TIMER
- @echo off
- cls
- ECHO The demo will run for 1 - 60 seconds.
- echo.
- ECHO ────────────────────────────────────────────────────────────────────────
- ECHO CALCULATE HOW LONG IT TOOK TO RUN A PROGRAM (in seconds and minutes)
- echo.
- echo If you leave long batch files to run overnight, this techique can
- echo be used to record how long each program in the batch file ran.
- echo.
- echo The technique for setting the values of environment variables in this
- echo part of the demo uses temporary batch files and CALL statements.
- echo If you have a program such as GET or STRINGS, you can use it instead.
- ECHO ────────────────────────────────────────────────────────────────────────
- echo.
- PAUSE
- cls
-
- FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution begins at "
-
- REM GET PROGRAM BEGIN TIME, IN MINUTES
- @set BegM=
- @set EndM=
- @set RunM=
- FDATE /Ff /At /Ominute# /P"SET BegM=" >FDATJUNK.BAT
- CALL FDATJUNK.BAT
-
- REM GET PROGRAM BEGIN TIME, IN SECONDS
- set BegS=
- set EndS=
- set RunS=
- FDATE /Ff /At /Osecond# /P"SET BegS=" >FDATJUNK.BAT
- CALL FDATJUNK.BAT
-
- rem ───────────────────────────────────────────────────────────────
- rem [simulate execution of a program: loop for a minute or less]
- rem [In a real batch file, you would put your program statements here]
- rem ───────────────────────────────────────────────────────────────
- :BegLoop
- FDATE /Ff /At /Osecond# /VendS
- FDATE /Ff /At /Ominute# /VendM
-
- rem calculate run time (difference between start time and end time)
- rem ----------------------------------------------------------------
- FDATE /F#dif /A%EndM% /B%BegM% /VrunM
-
- rem calculate run time (difference between start time and end time)
- rem ----------------------------------------------------------------
- FDATE /F#dif /A%EndS% /B%BegS% /VrunS
-
- echo TESTPGM running, elapsed time: %RunS% seconds
-
- if (%RunM%)==() goto EndLoop
- if (%RunM%)==(0) goto BegLoop
- :EndLoop
- rem ───────────────────────────────────────────────────────────────
-
- REM GET PROGRAM END TIME IN SECONDS
- FDATE /Ff /At /Osecond# /VendS
-
- REM GET PROGRAM END TIME IN MINUTES
- FDATE /Ff /At /Ominute# /VendM
-
- FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution ends at "
- echo.
-
- echo TESTPGM: Program end time (Julian seconds): %EndS%
- echo TESTPGM: Program begin time (Julian seconds): %BegS%
-
- rem calculate run time (difference between start time and end time)
- rem ----------------------------------------------------------------
- FDATE /F#dif /A%EndS% /B%BegS% /P"TESTPGM: Run time in seconds= "
- set BegS=
- set EndS=
-
- echo.
- echo TESTPGM: Program end time (Julian minutes): %EndM%
- echo TESTPGM: Program begin time (Julian minutes): %BegM%
- rem calculate run time (difference between start time and end time)
- FDATE /F#dif /A%EndM% /B%BegM% /P"TESTPGM: Run time in minutes= "
-
- set BegM=
- set EndM=
- set RunM=
- set RunS=
-
- echo.
- PAUSE
-
- @echo off
- if exist FDATJUNK.BAT DEL FDATJUNK.BAT
-
- cls
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ END OF FDATE TEST BATCH FILE ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- echo.
- echo I hope that you have found this demo batch file helpful,
- echo and that you will find FDATE useful.
- echo.
- echo -- Stephen Ferg
- echo.
- echo.
- echo.
-
-
- if not exist holidays.bat goto endit
- echo ╔═════════════════════════════════════════════════════════════════════════════╗
- echo ║ READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE ║
- echo ╚═════════════════════════════════════════════════════════════════════════════╝
- pause
- HOLIDAYS.BAT
- :ENDIT